1. Field of the Invention
The present invention relates to Mobile IP network technology. More particularly, the present invention relates to enabling a mobile network device to select a foreign agent.
2. Description of the Related Art
Mobile IP is a protocol that allows laptop computers or other mobile computer units (referred to as “Mobile Nodes” herein) to roam between various sub-networks at various locations—while maintaining Internet and/or WAN connectivity. Without Mobile IP or related protocol, a Mobile Node would be unable to stay connected while roaming through various sub-networks. This is because the IP address required for any node to communicate over the Internet is location specific.
Each IP address has a field that specifies the particular sub-network on which the node resides. If a user desires to take a computer that is normally attached to one node and roam with it so that it passes through different sub-networks, it cannot use its home base IP address. As a result, a business person traveling across the country cannot merely roam with his or her computer across geographically disparate network segments or wireless nodes while remaining connected over the Internet. This is not an acceptable state of affairs in the age of portable computational devices.
To address this problem, the Mobile IP protocol has been developed and implemented. An implementation of Mobile IP is described in RFC 2002 of the Network Working Group, C. Perkins, Ed., October 1996. Mobile IP is also described in the text “Mobile IP Unplugged” by J. Solomon, Prentice Hall. Both of these references are incorporated herein by reference in their entireties and for all purposes.
The Mobile IP process and environment are illustrated in FIG. 1. As used herein, a “mobile network device” will mean any mobile computing or telecommunication device that can communicate over the Internet (or a similar network), including but not limited to a mobile network device such as a router, a mobile personal computer, a mobile telephone, a mobile personal digital assistant and other mobile nodes. Some such devices may need to be used in connection with, e.g., a mobile access router running mobile IP. The descriptions herein regarding the movement of mobile nodes from home agent to foreign agents, etc., shall apply generally to the movement of mobile network devices unless otherwise specified.
As shown in FIG. 1, a Mobile IP environment 2 includes the Internet (or a WAN) 4 over which a Mobile Node 6 can communicate remotely via mediation by a Home Agent 8 and a Foreign Agent 10. Typically, the Home Agent and Foreign Agent are routers or other network connection devices performing appropriate Mobile IP functions as implemented by software, hardware, and/or firmware. A particular Mobile Node (e.g., a laptop computer, a mobile router, etc.) plugged into its home network segment connects with the Internet through its designated Home Agent. When the Mobile Node roams, it communicates via the Internet through an available Foreign Agent. Presumably, there are many Foreign Agents available at geographically disparate locations to allow widespread Internet connection via the Mobile IP protocol. Note that it is also possible for the Mobile Node to register directly with its Home Agent.
As shown in FIG. 1, Mobile Node 6 normally resides on (or is “based at”) a network segment 12 that allows its network entities to communicate over the Internet 4 through Home Agent 8 (an appropriately configured router denoted R2). Note that Home Agent 8 need not directly connect to the Internet. For example, as shown in FIG. 1, it may be connected through another network device (a router R1 in this case). Router R1 may, in turn, connect one or more other routers (e.g., a router R3) with the Internet.
Mobile Node 6 may be removed from its home base network segment 12 and may roam to a remote network segment 14. Network segment 14 may include various other nodes such as a PC 16. The nodes on network segment 14 communicate with the Internet through a router which doubles as Foreign Agent 10. Mobile Node 6 may identify Foreign Agent 10 through various transmissions made by Foreign Agent 10, including solicitations and advertisements, which form part of the Mobile IP protocol.
When Mobile Node 6 engages with network segment 14, Foreign Agent 10 relays a registration request to Home Agent 8 (as indicated by the dotted line “Registration”). The Home and Foreign Agents may then negotiate the conditions of the Mobile Node's attachment to Foreign Agent 10. For example, the attachment may be limited to a period of time, such as two hours. When the negotiation is successfully completed, Home Agent 8 typically updates an internal “mobility binding table” which specifies the care of address (e.g., a collocated care of address or the Foreign Agent's IP address) in association with the identity of Mobile Node 6. Further, the Foreign Agent 10 normally updates an internal “visitor table” which specifies the Mobile Node address, Home Agent address, etc. In effect, the Mobile Node's home base IP address (associated with segment 12) has been shifted to the Foreign Agent's IP address (associated with segment 14).
If Mobile Node 6 wishes to send a message to a corresponding node 18 from its new location, an output message from the Mobile Node is then packetized and forwarded through Foreign Agent 10 over the Internet 4 and to corresponding node 18 (as indicated by the dotted line “packet from MN”) according to a standard Internet protocol. If corresponding node 18 wishes to send a message to Mobile Node—whether in reply to a message from the Mobile Node or for any other reason—it addresses that message to the IP address of Mobile Node 6 on sub-network 12. The packets of that message are then forwarded over the Internet 4 and to router R1 and ultimately to Home Agent 8, as indicated by the dotted line (“packet to MN(1)”).
From its mobility binding table, Home Agent 8 recognizes that Mobile Node 6 is no longer attached to network segment 12. It then encapsulates the packets from corresponding node 18 (which are addressed to Mobile Node 6 on network segment 12) according to a Mobile IP protocol and forwards these encapsulated packets to a “care of” address for Mobile Node 6 as shown by the dotted line (“packet to MN(2)”). The care-of address may be, for example, the IP address of Foreign Agent 10. Foreign Agent 10 then strips the encapsulation and forwards the message to Mobile Node 6 on sub-network 14. The packet forwarding mechanism implemented by the Home and Foreign Agents is often referred to as “tunneling.”
In addition to providing connectivity to a mobile node, it may be desirable to provide for the mobility of one or more networks moving together, such as on an airplane or a ship. RFC 2002 section 4.5 discusses the possibility of implementing mobile routers.
If Mobile Node 6 (or a mobile router) continues to move, it will receive advertisements from other foreign agents. In general, if Mobile Node 6 receives an advertisement from a new foreign agent, Mobile Node 6 will “tear down” its tunnel connection with Foreign Agent 10 and establish a new connection with the new foreign agent.
However, the new foreign agent may not be the optimal foreign agent with which to establish a connection. For example, Mobile Node 6 may only receive advertisements from the new foreign agent for a brief period of time, as Mobile Node 6 travels in and out of the range of advertisements from the new foreign agent. This situation may be further complicated if Mobile Node 6 travels in and out of the range of advertisements from multiple foreign agents, or simply remains within overlapping ranges of multiple foreign agents. Under such circumstances, Mobile Node 6 would continue to tear down the established tunnel and create a new tunnel to the foreign agent from which Mobile Node 6 most recently received an advertisement. The process of tearing down and re-establishing a tunnel may take several seconds. Conventional mobile nodes and mobile routers do not have the ability to determine the optimal foreign agent with which to establish and maintain a connection under such circumstances.